package org.mysterylab.utopiaframework.util.parser;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 提供了用于解析、转换字符串、时间等的方法.
 * 
 * @author zhouych
 */
public class ParseUtil {
	
	/**
	 * 删除 input 字符串中的 html 格式.
	 * 
	 * @param input
	 *            需要删除其中的 html 格式的字符串
	 * @param length
	 *            需要获取到的字符串的长度
	 * @return
	 */
	public static String parseHtml2String(String input, int length) {
		if (input == null || input.trim().equals("")) {
			return "";
		}
		// 去掉所有html元素,
		String str = input.replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll(
				"<[^>]*>", "");
		str = str.replaceAll("[(/>)<]", "");
		int len = str.length();
		if (len <= length) {
			return str;
		} else {
			str = str.substring(0, length);
			str += "...";
		}
		return str;
	}

	/**
	 * 解析日期, 返回默认的日期表示形式 yyyy-mm-dd.
	 * 
	 * @param date
	 * @return
	 */
	public static String parseDate(Date date) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		return sdf.format(date);
	}
	
	/**
	 * 解析日期, 返回指定的日期表示形式, 比如 "yyyy年mm月dd日"
	 * 
	 * @param date
	 * @param pattern
	 * @return
	 */
	public static String parseDate(Date date, String pattern) {
		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
		return sdf.format(date);
	}
	
	/**
	 * 解析时间, 返回指定的时间显示形式
	 * @param date
	 * @return
	 */
	public static String parseTime(Date date) {
		return null;
	}
}
